/**
 * Created with IntelliJ IDEA.
 * Description:
 * Date: 2023-11-01
 * Time:7:59
 */
public class test {
    //实现一个方法 transform, 以数组为参数, 循环将数组中的每个元素 乘以 2 ,
    // 并设置到对应的数组元素上. 例如 原数组为 {1, 2, 3}, 修改之后为 {2, 4, 6}

    public static void main1(String[] args) {

    }

    public static void main2(String[] args) {
        int[] array = {1,2,3,4};
        for (int x : array) {
            System.out.print(x+" ");
        }
        System.out.println();
    }

    public static void main3(String[] args) {
        int[] array1 = new int[12];
        System.out.println(array1);
    }

    public static void func1(int[] array) {
        array[0] = 99;
    }
    public static void func2(int[] array) {
        array = new int[]{11,22,33,44,55};
    }

    public static void main4(String[] args) {
        int[] array = {1,2,3,4};
        for (int x : array) {
            System.out.print(x+" ");
        }
        System.out.println();
    }

    public static void move(char pos1,char pos2) {
        System.out.print(pos1 + "->" + pos2 + ' ');  //打印移动途径
    }

    /**
     *
     * @param n      盘子数
     * @param pos1  起始位置
     * @param pos2  中转位置
     * @param pos3   目的地
     */
    public static void hanio(int n,char pos1,char pos2,char pos3) {
        if(n == 1) {
            move(pos1,pos3);
            return;
        }
        else {
            hanio(n-1,pos1,pos3,pos2);
            move(pos1,pos2);
            hanio(n-1,pos2,pos1,pos3);
        }
    }

    public static void main(String[] args) {
        char pos1 = 'A',pos2 = 'B',pos3 = 'C';//最开始的
        hanio(4,pos1,pos2,pos3);
    }
}
